package com.itlong.cloud.POJO.PO;

import com.itlong.cloud.annotation.ItlField;
import com.itlong.cloud.annotation.ItlTables;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 项目基本信息
 *
 * @author cuiduanwu
 * @create 2017--19 10:24
 */
@ItlTables("project_info")
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ProjectPO extends BasePO implements Serializable {
    @ItlField(value = "project_id",logicKey = "key")
    private String projectId; //项目编号

    @ItlField("project_name")
    private String projectName; //项目名称
    @ItlField("pub_key")
    private  String pubKey; //项目公钥

    @ItlField("project_memo")
    private String projectMemo; //项目备注

    @ItlField("com_address")
    private String comAddress; // 小区一卡通通讯

    @ItlField("country_id")
    private String countryId; //国家ID

    @ItlField("province_id")
    private String provinceId; //省ID

    @ItlField("city_id")
    private String cityId; //市ID

    @ItlField("district_id")
    private String districtId; //区ID

    @ItlField("address")
    private String address;

    @ItlField("auth_max_num")
    private  Integer authMaxNum; //最大授权数，最大为10
    @ItlField("protocol_version")
    private Integer protocolVersion; //蓝牙协议版本，默认为0，目前APP从蓝牙广播获取
    @ItlField("is_smartCommunity")
    private Integer isSmartCommunity; //是否启用云对讲，默认0,0-否，1-是

    @ItlField("engineer_code")
    private String engineerCode; //工程密码，6位，000000-999998，不可为999999
    @ItlField("device_address")
    private String deviceAddress; //云对讲业务服务器地址

    @ItlField("manage_phone")
    private String managePhone; //管理中心电话
    @ItlField("is_private_cloud")
    private  Integer isPrivateCloud; //是否私有云部署，默认0,0-否，1-是
    @ItlField("server_url")
    private String serverUrl; //云端服务器地址
    @ItlField("sip_id")
    private String sipId; //SIP服务器ID
    @ItlField("turn_server")
    private String turnServer; //穿透服务器地址
    @ItlField("out_code")
    private String outCode; //出局码，0-99
    @ItlField("root_pwd")
    private String rootPwd; //设备远程密码
    @ItlField(value = "root_port")
    private  Integer rootPort; //设备远程端口
    @ItlField("watch_limit")
    private  Integer watchLimit; //监视时长
    @ItlField("talk_limit")
    private  Integer talkLimit; //对讲时长
    @ItlField("psnt_open")
    private  Integer psntOpen; //PSTN开关 1开启 0关闭
    @ItlField("sdk_online")
    private Integer sdkOnline; //SDK在线/离线使用，默认1，0离线，1在线
    @ItlField("is_face_recognition")
    private Integer isFaceRecognition; //是否使用人脸识别： 0-否，1-是
    @ItlField("is_bluetooth_elevator")
    private Integer isBluetoothElevator; //是否使用蓝牙电梯： 0-否，1-是
    @ItlField("is_cloud_elevator")
    private Integer isCloudElevator; //是否使用云电梯： 0-否，1-是
    @ItlField("otp_online")
    private Integer otpOnline; //动态密码验证方式：0在线验证，1脱机验证
    @ItlField("bank_phone_num")
    private String bankPhoneNum;    //项目绑定银行手机号
    @ItlField("pay_password")
    private String payPassword;            //支付密码
    @ItlField("finance_status")
    private Integer financeStatus;          // 财务状态，1-正常，2-禁用
    @ItlField("position")
    private String position;   //项目地址所属经纬度 中间以逗号隔开
    @ItlField("on_off_line_pad_face")
    private Integer onOffLinePadFace;          // 平板人脸是否优先离线, 0代表否, 1代表是
    @ItlField("data_time")
    private Integer dataTime;          // 平板人脸是否优先离线, 0代表否, 1代表是
    @ItlField("system_data_time")
    private Integer systemDataTime;          // C#人脸识别系统同步时间
    @ItlField("mini_visitor_owner")
    private Integer miniVisitorOwner;          // 小程序访客单业主授权:0 不需要,1 需要
    @ItlField("mini_visitor_property")
    private Integer miniVisitorProperty;          // 小程序访客单物业授权:0 不需要,1 需要
    @ItlField("property_value_open")
    private Integer propertyValueOpen;          // 是否开启物业增值：1开启 0关闭
    @ItlField("rule_id")
    private String ruleId;          // 分润规则id
    @ItlField("intercom_count")
    private Integer intercomCount; // 对讲授权数量
    @ItlField("elevator_count")
    private Integer elevatorCount; // 电梯授权数量
    @ItlField("face_pad_count")
    private Integer facePadCount; // 人脸平板授权数量
    @ItlField("entrance_count")
    private Integer entranceCount; // 门禁授权数量
    @ItlField("open_pwd")
    private Integer openPwd;        //开门密码 1开启 0关闭
    @ItlField("project_type")
    private String projectType;          // 项目类型 1住宅 2办公
    @ItlField("office_auth_max_num")
    private Integer officeAuthMaxNum; //办公最大授权数，最大为500
    @ItlField("community_name")
    private String communityName;      // 小区名称，特供物业使用，项目名称不再外传
    @ItlField("charge_mode")
    private Integer chargeMode; //收费模式，1普通，2收费
    @ItlField("new_qr_code_format")
    private Integer newQrCodeFormat;              // 二维码新格式，0~512，默认200
    @ItlField("visitor_qr_code_times_restrict")
    private Integer visitorQrCodeTimesRestrict;              // 访客二维码次数限制，0关闭，1开启
    @ItlField("visitor_qr_code_usable_times")
    private Integer visitorQrCodeUsableTimes;              // 访客二维码可用次数
    @ItlField("iot_flag")
    private Integer iotFlag;              // iot对接方式 1.阿里；2.华为
    @ItlField("notouch_flag")
    private Integer notouchFlag;              // 无接触二维码 0.关闭；1.打开
    @ItlField("blue_tooth_call")
    private Integer blueToothCall;          //蓝牙进场呼梯 1开启 0关闭
    @ItlField("blue_tooth_call_standard")
    private Integer blueToothCallStandard;          //蓝牙进场呼梯 1开启 0关闭
    @ItlField("house_auth_mode")
    private Integer houseAuthMode;          //住户审核模式 1开启（人工审核） 0关闭（自动审核）
    @ItlField("open_guest_mode")
    private Integer openGuestMode;          //游客模式，0关闭，1开启，默认关闭
    @ItlField("visitor_invitation")
    private Integer visitorInvitation;    //访客邀请：0关闭 1开启
    @ItlField("scene_id")
    private String sceneId; //场景ID
    @ItlField("recheck_status")
    private Integer recheckStatus;    //邀请家人物业二次审批状态 0关闭 1开启
    @ItlField("cloud_service_cost")
    private Integer cloudServiceCost;    //云空间服务费 1收费 0不收费


    /**客户（集团）名称*/
    @ItlField("customer_name")
    private String customerName;

    /**项目配套系统 1云平台 2线下平台*/
    @ItlField("project_system")
    private String projectSystem;

    /**关联文件文件*/
    @ItlField("project_file")
    private String projectFile;

    /**产品类型 0:旺龙 ， 1:旺龙集团 ，3:厂家海外 ， 2:HLD*/
    @ItlField("product_type")
    private Integer productType;

    /**最大服务器电脑数*/
    @ItlField("pc_max_count")
    private Integer pcMaxCount;

    /**项目属性 0: 正式项目 , 1:非正式项目*/
    @ItlField("project_property")
    private Integer projectProperty;

    /**安全码随机8位数*/
    @ItlField("security_code")
    private String securityCode;



    @ItlField("visitor_password")
    private Integer visitorPassword;         //  访客开门密码 1启用 0禁用

    @ItlField("network_open")
    private Integer networkOpen;             //  远程开门设置 0关闭 1开启

    @ItlField("visitor_time_setting")
    private Integer visitorTimeSetting;       //  访客时间设置 0默认时间 1自定义时间

    @ItlField("custom_time")
    private String customTime;                  //  自定义时间 多个时间点以逗号隔开 当访客时间设置为1时才有值
    public ProjectPO(String projectId, String projectName, String projectMemo,String pubKey,Integer authMaxNum) {
        this.projectId = projectId;
        this.projectName = projectName;
        this.projectMemo = projectMemo;
        this.pubKey = pubKey;
        this.authMaxNum = authMaxNum;
    }
}
